package com.zzt.authlog.intf;


import com.zzt.authlog.common.BaseQueue;
import com.zzt.authlog.model.AuthLog;

/**
 * 内容摘要：日志记录操作管理类
 */
public class LogQueue extends BaseQueue
{

    private static LogManager logManager;

    public LogQueue()
    {
        // 设置本队列的列表长度，基类的缺省长度在配置类中指定
        this.maxsize = 500;
    }

    /**
     * 向将业务对象加入到处理队列中，重载基类的入队处理方法
     * 
     * @param log
     */
    public void putObject(Object obj)
    {
        //调用父类方法，将日志信息加入日志队列
        super.putObject(obj);
    }

    /**
     * 内容摘要：处理一个队列对象，重载基类的出队对象处理方法
     * 
     * @param Object
     *            队列中的出队对象
     * @return void
     */
    public void popObject(Object obj)
    {
        try
        {
            // 将日志对象写到数据库中
            this.getLogManager().add((AuthLog) obj);
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }

    public LogManager getLogManager()
    {
        return logManager;
    }

    public void setLogManager(LogManager logManager)
    {
        this.logManager = logManager;
    }

}
